Java基础(一)——JDK开发环境和Eclipse开发工具

JDK开发环境搭建(JDK包含了JRE,可以只安装JDK)

安装JDK

配置环境变量

用户变量:编辑Path:在最前面粘贴jdk文件路径

1
D:\Software\Java\jdk1.8.0_31\bin;

系统变量:新建JAVA_HOME:jdk文件路径

1
D:\Software\Java\jdk1.8.0_31

新建CLASSPATH:类库文件路径,前面加点跟分号

1
.; D:\Software\Java\jdk1.8.0_31\lib

验证开发环境是否搭建成功:
打开cmd,输入java回车没问题,输入javac,回车也没问题。

配置环境变量的解读

系统变量就是系统中设置的变量,用户变量就是根据用户需要可自定义的变量,两者都是变量只是权限不一样,一个是系统级的,一个是用户级的。用户变量可按需要随意定义,只要不和系统变量产生交叉。系统变量则不可由用户随便更改。

Path

一般情况下,如果我们想在Dos命令行某个exe的应用程序,则首先要切换到该exe文件所在的目录,然后才能运行。但如果我们将该exe应用程序所在的目录写入到Path环境变量中,就可以在任意目录下直接运行该exe应用程序,这就是Path的功能。即当通过Dos命令行运行我们输入的应用程序时,系统会先在当前目录下找目标文件,如果找不到,就会去Path中记录的路径去找。而Java的JDK中,其bin目录下就有许多工具,这些工具都是exe文件,比如常见的javac.exe和java.exe。所以,如果我们想在系统的任何目录下都能调用这些工具,就需要将javac.exe所在的目录(即bin目录),添加到系统环境变量Path中。

CLASSPATH

指定类库文件搜索路径。我的配置中,一个是点号(.)代表当前目录,另一个是D:\Software\Java\jdk1.8.0_31\lib

IDE、JRE、JDK

IDE(Integrated Development Environment,集成开发环境)

如eclipse开发工具。在项目开发过程中必须使用大型IDE集成开发工具来编写java程序,这样可以避免编码错误、方便管理项目结构,且其代码辅助功能可以快速录入程序代码。

JRE(Java Runtime Environment,Java运行时环境)

包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。

JDK

JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。

Eclipse版本

可直接上官网下载http://www.eclipse.org/downloads/,绿色软件,无需安装直接打开就可以用。

按应用范围分为3个版本

Java SE(Standard Edition,标准版本):主要用于桌面应用程序的开发,包含java语言基础、JDBC数据库操作、I/O输入输出、网络通信、多线程等技术;
Java EE:是java2的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP系统,其核心为EJB;Eclipse IDE for Java EE Development(包含Web开发);
Java ME:主要用于嵌入式系统开发,如掌上电脑、收集等移动通信电子设备,现在大部分收集厂商所生产的手机都支持java技术。

eclipse经常用到的是以下五个版本

1) Eclipse Classic:是Eclipse的经典版本,没有安装任何插件,纯净版,需要什么插件可以自己安装;
2) Eclipse IDE for Java Developers:适用于Java开发,集成CVS,Git,XML编辑器,Mylyn, Maven integration和WindowBuilder等插件;
3) Eclipse IDE for Java EE Developers:集成了Java ee开发常用插件,方便动态web网站开发。适合Java web开发者使用。集成了XML编辑器、数据库查看工具,提供jsp可视化编辑器。Eclipse IDE for Java EE Developer完全包含Eclipse IDE for Java Developers,它们都可以进行Java SE的开发;
4) Eclipse IDE for C/C++ Developers:适用于C/C++开发;
5) Eclipse for Mobile Developers:适用于Java手机开发
6) Eclipse for RCP/Plug-in Developers:用于RCP和插件开发

Eclipse介绍

菜单栏

file文件、edit编辑、source源代码、refactor重构、navigate浏览/导航、search搜索、project项目、run运行、Windows窗口

File文件

refresh刷新:刷新所选元素的内容
Switch workspace切换工作空间:切换工作空间到其它位置,将导致eclipse重启

edit编辑

expanding selection to将选择范围扩展到:将编辑内容的范围扩大到外层元素、下一个元素、上一个元素或恢复上一次选择的元素
find/replace查找/替换
add bookmarks添加书签
add task添加任务
smart insert mode灵活插入方式:切换插入方式。当禁用时,将禁止自动缩进、添加右方括号等功能
content assist内容辅助:当前光标位置打开内容辅助对话框
work completion内容补全:补全当前编辑器中正在输入的文字
quick fix快速修正:如果光标位于问题代码附近,则打开一个解决方案对话框

source源代码

主要是与代码编写相关的命令,用于辅助编程
toggle comment切换注释:注释或取消注释当前选择的所有行
add block comment添加块注释:从当前选择的多行代码周围添加块注释
remove block comment去除块注释:从当前选择的多行代码中去除块注释
correct indentation更正缩进:更正当前选择的代码行的缩进
format格式:使用代码格式化程序来格式化当前java代码
organize imports组织导入:导入当前所使用的类包Ctrl+shift+O
override/implement methods覆盖/实现方法:使用向导覆盖或实现接口中的方法
generate Getters and Setters生成Getters和Setters:使用向导创建成员变量的get()和set()方法
generate hashCode() and equals():打开“生成hashcode()和equals()”对话框
generate constructor using fields使用字段生成构造函数:添加构造函数,这些构造函数初始化当前选择的字段。可用于类型、字段或类型中文本的选择
generate constructors from superclass从超类中生成构造函数:对于当前选择的类型,按照超类中的定义添加构造函数
surround with包围方式:使用代码模板包围所选语句
externalize string外部化字符串:打开“将字符串外部化”向导,此向导允许通过使用语句访问属性文件来替换代码中的所有字符串

refactor重构

eclipse中最关键的菜单,包括对项目重构的相关命令。
Rename重命名:重命名所选java元素
Move移动:移动所选java元素
Extract method抽取方法:创建一个包含当前所选语句或表达式的新方法,并相关地引用
Extract local variable抽取局部变量:创建为当前所选择表达式制定的新变量,并将选择替换为对新变量的引用
Extract constant抽取常量:从所选表达式创建静态终态字段并替换字段引用,并且可以选择重写同一表达式的其它出现位置
Inline内联:直接插入局部变量、方法或常量
Convert local variable to field将局部变量转换为字段:如果该变量是在创建时初始化的,则将把初始化移至新字段的声明或类的构造函数
Convert anonymous class to nested将匿名类转换为嵌套类:将匿名内部类转换为成员类
Extract superclass抽取超类:从一组同类型中抽取公共超类
Extract interface抽取接口:根据当前类的方法创建接口,并使该类实现这个接口
Encapsulate field包括字段:将对变量的所有引用替换为get()和set()方法
History历史记录:浏览工作空间重构历史记录,并提供用于从重构历史记录中删除重构的选项

Project项目

用于管理eclipse中的项目,可以实现项目的打开与关闭、自动构建等操作。

Run运行

和程序运行和调试相关的各种操作,同时还能保存运行和调试的记录。

Windows窗口

用于显示、隐藏或处理eclipse中各种视图、透视图和操作。

包资源管理器视图

控制台视图

显示输出结果和运行时的异常信息(runtime exception),在学习swing程序设计之前,必须使用控制台实现与程序的交互,例如为方便某个方法的调试,方法执行前后分别输出“方法开始”和“方法结束”信息。

第一个Java程序

第一个java程序:可以使用任何一个文本编辑器来编写程序的源代码,然后使用JDK搭配工具进行编译和运行。简单的java程序可以用文本编辑器开发:

输入程序

1
2
3
4
5
class example{  
public static void main(String[] args){
.out.pintln(“My first Java”);
}
}

其中,
类名必须与文件名完全相同,关键词class声明一个新定义的类,example是类名。
public是访问修饰符,决定程序的哪些部分能够访问类的成员。public类外的代码可以访问类成员,private阻止类外定义的代码使用成员。
必须将main()方法声明为public,因为它需要example外的代码执行。
关键字static使得main()方法可以独立于任意对象运行。
形参名为args,类型为String的对象数组。

编译程序

1
javac example.java

运行程序

1
java example

使用eclipse(IDE开发工具)编写和编译java代码

创建项目

eclipse中有很多项目,其中java project是用于管理和编写java程序。

创建类

package中可以输入想使用的包名,默认为空
Name中输入类名
选择public static void main(String[] args)复选框,在创建类文件时,会自动为该类添加main()方法,使该类成为可以运行的主类。

编写java代码

Eclipse的强大之处在于它的强大的代码辅助功能,在编写程序代码时,可以自动补全关键字:Ctrl+Alt+/,代码辅助菜单:当输入“.”操作符时,编辑器会自动弹出代码辅助菜单,也可在输入部分文字之后使用Alt+/调出代码辅助菜单,完成关键语法的辅助功能。
注意:System.out.println()方法快捷键:输入“syso”,然后Alt+/
技巧:将光标移动到java编辑器的错误代码位置,按Ctrl+l可以激活代码修正菜单,从中选择合适的修正方法。
4. 运行java程序:run

输出的空格符只会在“”内有作用。
加号使得var1的值显示在字符串后面。
print和println的使用方法类似,只是在每次调用时,都不输出新行,println调用了变量var2本身。Syestem.out.println();可以输出空行。

调试程序

使用eclipse中内置的java调试器需要设置程序断点,然后使用单步调试分别执行程序代码的每一行。

在觉得可能有错的地方设置断点

Java调试器每次遇到程序断点时,都会将当前线程挂起,即暂停当前程序的运行。在编辑器中显示行号的位置处右击-toggle breakpoint添加断点,再次选择则删除断点。

以调试方式运行java程序

Debug as-java application,调试器将在该断点处挂起当前线程,使程序停止。如果是Web程序,需要将Tomcat或Apache服务器以Debug模式启动。这是因为标准的Start模式,不能进入预先设置的断点。

执行完程序,程序调试

可以通过调试视图工具栏上的按钮,执行相应的调试操作。

单步跳入:F5,将跳入调用方法或对象的内部单步执行程序并暂挂线程。
单步跳过;F6,运行单独的一行程序代码,但是不进入调用方法的内部,然后跳到下一个可执行点并暂挂线程。(不停地执行单步跳过操作,会每次一行执行程序代码,直到程序结束或等待用户操作。)
4. 为Eclipse添加反编译插件,更好的调试。

查看Java源码

一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍。
1.下载并安装jad.exe。将jad.exe解压到程序目录(可以放置任意目录),例如:C:\Program Files\Jad\jad.exe。
2.安装jadclipse插件。下载并解压net.sf.jadclipse_3.3.0.jar,将其拷贝到eclipse\plugins目录下,重新启动eclipse。
3.配置jadclipse。在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Path to Decompiler。
(设置jad的绝对路径,例如 C:\Program Files\Jad\jad.exe)
可将Use Eclipse code formatter(overrides Jad formatting instructions)选项打勾,这样可以与Ctrl+Shif+F格式化出来的代码样式一致。

执行完这几个步骤,再在导入自jar包的类或者方法上点击查看,就可以查看源代码了,如果不能,参考下面的解决办法:
多数情况下,是eclipse未能自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。
在Eclipse的Windows->Perference->General->Editors->File Associations中修改“.class”和“.class without source”默认关联的编辑器为“JadClipse Class File Viewer”。